/*
 *  OrganismObserver.h
 *
 *  Created by Nicola on 08/04/13.
 *
 *
 */


#ifndef ORGANISMOBSERVER_H
#define ORGANISMOBSERVER_H

#include "RoboroboMain/common.h"
#include "RoboroboMain/roborobo.h"

#include "WorldModels/EvolvingRobotAgentWorldModel.h"

#include "Observers/Observer.h"

class OrganismObserver : public Observer
{
	protected:
		EvolvingRobotAgentWorldModel *_wm;

	public:
		//Initializes the variables
		OrganismObserver( );
		OrganismObserver( RobotAgentWorldModel *__wm );
		virtual ~OrganismObserver();

		virtual void reset();
		virtual void step();

};

typedef boost::shared_ptr<OrganismObserver> OrganismObserverPtr;

#endif
